//package com.untour.im.codec.protocol.coder;
//
//
//import com.alibaba.fastjson2.JSONObject;
//import io.netty.buffer.ByteBuf;
//import io.netty.buffer.Unpooled;
//import io.netty.channel.ChannelHandlerContext;
//import io.netty.handler.codec.MessageToMessageEncoder;
//import io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame;
//import lombok.extern.slf4j.Slf4j;
//import com.untour.im.codec.proto.ImMessageBody;
//
//import java.util.List;
//
//@Slf4j
//public class WebSocketMessageEncoder extends MessageToMessageEncoder<ImMessageBody> {
//
//    @Override
//    protected void encode(ChannelHandlerContext ctx, ImMessageBody msg, List<Object> out)  {
//
//        try {
//            String s = JSONObject.toJSONString(msg);
//            ByteBuf byteBuf = Unpooled.directBuffer(8+s.length());
//            byte[] bytes = s.getBytes();
//            byteBuf.writeInt(msg.getCommand());
//            byteBuf.writeInt(bytes.length);
//            byteBuf.writeBytes(bytes);
//            out.add(new BinaryWebSocketFrame(byteBuf));
//        }catch (Exception e){
//           log.error("webSocket message encode error",e);
//        }
//
//    }
//}